UFO Sightings Mapped on a Scatterplot with Geographic Midpoint¶

CPSC 103 102

Paul English & Jasmine Kwok

spaceship.jpg

Source: Antony, 2021 [https://unsplash.com/photos/green-and-black-trees-under-blue-sky-HWQXIYbs8PM.]

Project Overview¶

There are thousands of possible UFO sightings in the United States and Canada each year.

Research question: Is there a central tendency on the day with the most UFO sightings?

Data: ufo_sightings_simplified

  • Simplified version of ufo_sightings
  • Data extracted from the National UFO Reporting Center database (not a government agency)
  • Information included: date (and time) of the sighting, country, city, state, observed shape, description of the sighting, latitude and longitude of the sighting

Aliens/UFOs in the news this year:

  1. January 2023: 2022 Annual Report on Unidentified Aerial Phenomena (US Pentagon)
  2. September 2023: possible alien bodies presented to Mexican Congress
  3. October 2023: release of the Pentagon’s UFO reporting form

The recent news (and the thought of possible new life forms existing) inspired us to do this project!

How We Used Systematic Program Design¶

To begin the project we created a workflow diagram:

CPSC103WorkflowFinal.jpg

  • Visualized the necessary functions
  • Decided on the helper functions

Used for loops to circumvent inaccess to typical computational functions

Decisions were made based on the one task per function rule

  • Led to a much more readable and usable function
  • The helper functions themselves were much more useable as well

How We Solved the Problem¶

Main goal: Make scatterplot for UFO Sightings and their geographic midpoint for the day with the most sightings.

Problems¶

1. Using dates stored as string data¶

“16-12-21-09-55” -> str_to_date -> Date(12, 21)

2. Accessing latitude and longitudes stored in the compound data type (UFOSighting) to plot our points

UFOSighting -> list_coordinates -> [lat_vals], [long_vals]

3. Finding the date with the most sightings.

most_sightings_date -> number_of_sightings

final_output.png

Difficulties¶

  • Computation without core functions (e.g. len(), sum())

  • Interpreting error messages

  • Ensuring the inclusion of all necessary documentation

  • Figuring out how to scaffold our functions